package com.example.demo.model;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description = "学生-课题-教师关系")
public class StudentSubjectTeacherDto extends PageQuery implements Serializable {
    @Schema(description = "计划编号", required = true)
    private Long academicYearId;
    @Schema(description = "student.student_id")
    private Long studentId;
    @Schema(description = "学号")
    private String studentNumber;
    @Schema(description = "学生姓名")
    private String studentName;
    @Schema(description = "学生学院编号")
    private Long studentSecondId;
    @Schema(description = "学生学院名称")
    private String studentSecondName;
    @Schema(description = "学生专业编号")
    private Long studentMajorId;
    @Schema(description = "学生专业名称")
    private String studentMajorName;
    @Schema(description = "学生双选情况。0：未进行双选；1：等待确认；2：已确认双选；3：双选中；-1：未通过双选；-2：已解除双选 ;")
    private Integer studentYearConfirmDouble;
    @Schema(description = "确认双选时间")
    private LocalDateTime studentYearConfirmDoubleTime;

    @Schema(description = "subject.subject_id")
    private Long subjectId;
    @Schema(description = "课题名称")
    private String subjectName;
    @Schema(description = "课题审核状态")
    private Integer subjectAuditState;
    @Schema(description = "多个课题审核状态筛选")
    private List<Integer> subjectAuditStates;

    @Schema(description = "teacher.teacher_id")
    private Long teacherId;
    @Schema(description = "教师编号")
    private String teacherNumber;
    @Schema(description = "教师姓名")
    private String teacherName;
    @Schema(description = "教师学院编号")
    private Long teacherSecondId;
    @Schema(description = "教师学院名称")
    private String teacherSecondName;
    @Schema(description = "毕业答辩状态。未安排答辩：0；已安排答辩，进入下一次答辩：1；已安排答辩，不进入下一次答辩：2；")
    private Integer graduationDefenseStatus;


}
